Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

245
Views
Mongodb "me gusta" en múltiples campos en agregación

Así que tengo algunos documentos de usuario que tienen nombres y apellidos. Me gustaría ofrecer la posibilidad de filtrarlos si una entrada dada "se parece" a ese nombre completo.

 user: { firstName: "foo", lastName: "name", ... }

Antes, estaba haciendo este filtro en el lado de javascript midiendo una "puntuación" de similitud entre la entrada y el nombre completo, pero desde que implementé un sistema de paginación ya no puedo hacer esto.

Ahora me gustaría encontrar una manera de hacer esto en el lado de la agregación.

Encontré this question y this one , que parece hacer lo mismo, pero como no usan la agregación directamente, me resulta difícil vincular esto con mi caso.

Una forma de hacerlo que he estado pensando es usar el operador $where en la agregación y luego addField para tener el "puntaje de similitud" con cada resultado de la consulta, luego filtrarlos en su puntaje usando las opciones de aggregatePaginate de Paginación.

Pero me parece que no puedo usar $where en la agregación. Alguna idea ?

Muchas gracias ! kev :)

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Para la agregación, puede usar la función $ para ejecutar código personalizado. Sin embargo, eso anula el propósito de la paginación, ya que Mongo tiene que ejecutar este código para cada documento, además, se recomienda no ejecutar js en Mongo, ya que tiene un rendimiento algo malo.

Parece que solo está usando la base de datos incorrecta para el trabajo. Si esta es una característica crucial, le recomiendo probar una base de datos de búsqueda de texto como Atlas Search o Elasticsearch.

Si cambiar db no es una opción, y esta función es demasiado importante para eliminarla o alternarla. tal vez si proporciona detalles adicionales sobre cómo funciona la puntuación, será más fácil dar una respuesta completa.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!